리팩토링 (책) 리팩토링
저자 Martin Fowler
출판 1999 , 2018 목차
초판본과 개정판의 차이
초판본의 예제는 자바 였는데 개정판에서는 자바스크립트 로 바뀌었다.
“
I chose JavaScript to illustrate these refactorings, as I felt that this language would be readable by the most amount of people. … Although I use JavaScript for my examples, that doesn’t mean the techniques in this book are confined to JavaScript. —Preface
마지막 몇몇 챕터들이 개정판에서는 사라졌는데 이유는 이렇다고:
“
I dropped the later chapters, which explored some more tangential issues. I think they worked in the first edition, but these days I think it’s better to publish essays like this on my website. That’s the same reason why I also dropped the four “big refactorings” from the catalog. The big refactorings were always a bit different to the majority of the refactorings, and I do feel these examples work better through essays on my website.1
See also
Footnotes
목차 관련 글 전역 데이터 이 글을 인용: “The most obvious form of global data is global variables, but we also see this problem with class variables and…” 주석 이 글을 인용: “It’s surprising how often you look at thickly commented code and notice that the comments are there because the…” OOP와 IF문 이 글을 인용: “1990년대 후반에는 슬프게도 다형성이 충분히 널리 인식되지 못했기에, 사람들이 대신 다형성을 선택하는 게 이롭다고 봤기 때문이다. --Refactoring: Improving the design o…” 긴 함수 이 글을 인용: “Modern languages have pretty much eliminated that overhead for in-process calls. --Chapter 3, Refactoring: Impr…” 데이터 클래스 이 글을 인용: “Immutable fields don’t need to be encapsulated and information derived from immutable data can be represented a…” 코드 중복 이 글을 인용: “If you need to change the duplicated code, you have to find and catch each duplication. --Chapter 3, Refactorin…” Feature envy 이 글을 인용: “We’ve lost count of the times we’ve seen a function invoking half-a-dozen getter methods on another object to c…” 거부당한 유산 이 글을 인용: “Nine times out of ten this smell is too faint to be worth cleaning. --Chapter 3, Refactoring: Improving the des…” Mutable data 이 글을 인용: “For this reason, an entire school of software development—functional programming—is based on the notion that da…” 신비로운 이름 이 글을 인용: “Puzzling over a tricky name has often led us to significant simplifications to our code. --Chapter 3, Refactori…” 데이터 뭉텅이 이 글을 인용: “Bunches of data that hang around together really ought to find a home together. --Chapter 3, Refactoring: Impro…” AI 지원 프로그래밍을 위한 새 실천법 “After all, the compiler doesn't care whether the code is ugly or clean.” TDD와 XP “By refactoring, you make writing the next round of tests that much easier.” 기본형 집착 “We thus see calculations that treat monetary amounts as plain numbers, or calculations of physical quantities t…” Programmer's brain “Information that fits an existing schema better will be easier to remember….” 반복문 이 글을 인용: “Refactoring: Improving the design of existing code 초판본에서는 없었으나 개정판에 추가된 악취. , , 같은 형태의 명시적 반복문은 과거의 유물.” 내가 읽은 책들 “2025-02-07 - Nudge: Improving decisions about health, wealth, and happiness (개정판 재독)” CodeAct: Your LLM Agent Acts Better when Generating Code “We show that it can be used with existing data to improve models in agent-oriented tasks without compromising t…” 반복되는 스위치문 이 글을 인용: “Refactoring: Improving the design of existing code의 초판본에서는 "Switch statements"였는데 개정판에서는 "Repeated switches"로 이…” Explicit parameters “It also opens up the horrific abuse of modifying the parameters for (implicit) use later. --Tidy first?”